package xijia.plus.docs.manage.all.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.github.wslxm.springbootplus2.core.base.model.BasePage;
import xijia.plus.docs.manage.all.model.dto.DocMenuDTO;
import xijia.plus.docs.manage.all.model.entity.DocMenu;
import xijia.plus.docs.manage.all.model.query.DocMenuQuery;
import xijia.plus.docs.manage.all.model.vo.DocMenuVO;

import java.util.List;

/**
 * 菜单 Service
 *
 * <p>
 * ::本代码由[兮家小二]提供的代码生成器生成,如有问题,请手动修改 ::作者CSDN:https://blog.csdn.net/qq_41463655
 * </p>

 * @author ws
 * @email 1720696548@qq.com
 * @date 2022-12-29 16:56:28
 */
public interface DocMenuService extends IService<DocMenu> {

    /**
     * 树结构数据查询
     *
     * @param query query
     * @return 分页列表数据
     */
    List<DocMenuVO> tree(String tenantName ,DocMenuQuery query);

    /**
     * 列表查询
     *
     * @param query query
     * @return 分页列表数据
     */
    BasePage<DocMenuVO> findPage(String tenantName ,DocMenuQuery query);

    /**
     * id 查询
     *
     * @param id id
     * @return DocMenuVO
     */
    DocMenuVO findId(String tenantName ,String id);

    /**
     * 添加
     *
     * @param dto dto
     * @return 主键id
     */
    String insert(String tenantName ,DocMenuDTO dto);

    /**
     * id 编辑
     *
     * @param id id
     * @param dto dto
     * @return boolean
     */
    boolean upd(String tenantName ,String id, DocMenuDTO dto);

    /**
     * 删除 (同时删除下级数据)
     *
     * @param id id
     * @return boolean
     */
    boolean del(String tenantName ,String id);

}

